﻿using commodity.Dtos;
using commodity.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace commodity.Services
{
   public interface ICommodityRepository
    {
        Task<IEnumerable<FirstsCommodityMenu>> GetAllData(int? type);
        Task addCateFromByCateFromAsync(AddCateFromDto addCateFromDto);
        Task<bool> SaveAsync();
        Task<IEnumerable<CommodityInformation>> GetCommodityInformationByIdAsync(int id, int state);
        Task<bool> CommodityExistsByCommodityIdAsync(int CommodityId);
        void AddCommodityInformation(CommodityInformation commodityInformation);
        Task<bool> CommodityInformationExistsAsync(int CommodityId, int CommodityInformationId);
        Task<CommodityInformation> GetInformationByInformationId(int InformationId);
        void EditCommodityInformationByInformationDto(CommodityInformation commodityInformation);
        Task DeleteCommodityInformationByInformationId(int InformationId);
        Task<IEnumerable<Goods>> GetGoods(GetGoodsDto getGoodsDto);
        Task<int> GetGoodsTotal();
        Task<bool> DeleteGoodsByGoodId(int goodId);
        Task<bool> AddGoods(Goods good);
    }

}
